package com.gistmap.dao;

import java.util.List;
import java.util.Map;

import com.gistmap.bean.User;
import com.gistmap.dto.Friend;
import com.gistmap.dto.MessageDto;
import org.apache.ibatis.annotations.Param;

public interface UserDao
{
	List<User> getAll();
	
	User getByUserName(String username);
	
	int register(User user);

	int nameRepeat(String username);

	Friend get(Integer id);

	void saveAvatar(String fileName,Integer uid);

    void update(User user);

    User getById(@Param("id")Integer id);

    List<Integer> curFocusStatus(@Param("uid") Integer uid);

	List<Integer> curFocusMeStatus(@Param("uid")Integer uid);

    void saveFriend(@Param("curId")Integer curId, @Param("careId")Integer careId);

	void closeFriend(@Param("curId")Integer curId, @Param("careId")Integer careId);

	void addMessage(@Param("uid")Integer uid);

	void saveAction(Map<String, Object> params);

	List<MessageDto> getRelated(@Param("uid")Integer uid);

	void clearMessage(@Param("uid")Integer uid);

	void clearFlag(@Param("uid")Integer uid);

    int getCareCount(@Param("uid")Integer id);

	int getFansCount(@Param("uid")Integer id);

    List<Friend> getFriend(@Param("uid")Integer uid);

    List<Friend> getFans(@Param("uid")Integer uid);


}
